package com.dengyafei.bean;

import java.util.ArrayList;
import java.util.List;

public class EnterpriseEntityExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public EnterpriseEntityExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andHidIsNull() {
            addCriterion("hid is null");
            return (Criteria) this;
        }

        public Criteria andHidIsNotNull() {
            addCriterion("hid is not null");
            return (Criteria) this;
        }

        public Criteria andHidEqualTo(Integer value) {
            addCriterion("hid =", value, "hid");
            return (Criteria) this;
        }

        public Criteria andHidNotEqualTo(Integer value) {
            addCriterion("hid <>", value, "hid");
            return (Criteria) this;
        }

        public Criteria andHidGreaterThan(Integer value) {
            addCriterion("hid >", value, "hid");
            return (Criteria) this;
        }

        public Criteria andHidGreaterThanOrEqualTo(Integer value) {
            addCriterion("hid >=", value, "hid");
            return (Criteria) this;
        }

        public Criteria andHidLessThan(Integer value) {
            addCriterion("hid <", value, "hid");
            return (Criteria) this;
        }

        public Criteria andHidLessThanOrEqualTo(Integer value) {
            addCriterion("hid <=", value, "hid");
            return (Criteria) this;
        }

        public Criteria andHidIn(List<Integer> values) {
            addCriterion("hid in", values, "hid");
            return (Criteria) this;
        }

        public Criteria andHidNotIn(List<Integer> values) {
            addCriterion("hid not in", values, "hid");
            return (Criteria) this;
        }

        public Criteria andHidBetween(Integer value1, Integer value2) {
            addCriterion("hid between", value1, value2, "hid");
            return (Criteria) this;
        }

        public Criteria andHidNotBetween(Integer value1, Integer value2) {
            addCriterion("hid not between", value1, value2, "hid");
            return (Criteria) this;
        }

        public Criteria andHnameIsNull() {
            addCriterion("hname is null");
            return (Criteria) this;
        }

        public Criteria andHnameIsNotNull() {
            addCriterion("hname is not null");
            return (Criteria) this;
        }

        public Criteria andHnameEqualTo(String value) {
            addCriterion("hname =", value, "hname");
            return (Criteria) this;
        }

        public Criteria andHnameNotEqualTo(String value) {
            addCriterion("hname <>", value, "hname");
            return (Criteria) this;
        }

        public Criteria andHnameGreaterThan(String value) {
            addCriterion("hname >", value, "hname");
            return (Criteria) this;
        }

        public Criteria andHnameGreaterThanOrEqualTo(String value) {
            addCriterion("hname >=", value, "hname");
            return (Criteria) this;
        }

        public Criteria andHnameLessThan(String value) {
            addCriterion("hname <", value, "hname");
            return (Criteria) this;
        }

        public Criteria andHnameLessThanOrEqualTo(String value) {
            addCriterion("hname <=", value, "hname");
            return (Criteria) this;
        }

        public Criteria andHnameLike(String value) {
            addCriterion("hname like", value, "hname");
            return (Criteria) this;
        }

        public Criteria andHnameNotLike(String value) {
            addCriterion("hname not like", value, "hname");
            return (Criteria) this;
        }

        public Criteria andHnameIn(List<String> values) {
            addCriterion("hname in", values, "hname");
            return (Criteria) this;
        }

        public Criteria andHnameNotIn(List<String> values) {
            addCriterion("hname not in", values, "hname");
            return (Criteria) this;
        }

        public Criteria andHnameBetween(String value1, String value2) {
            addCriterion("hname between", value1, value2, "hname");
            return (Criteria) this;
        }

        public Criteria andHnameNotBetween(String value1, String value2) {
            addCriterion("hname not between", value1, value2, "hname");
            return (Criteria) this;
        }

        public Criteria andHnicknameIsNull() {
            addCriterion("hnickname is null");
            return (Criteria) this;
        }

        public Criteria andHnicknameIsNotNull() {
            addCriterion("hnickname is not null");
            return (Criteria) this;
        }

        public Criteria andHnicknameEqualTo(String value) {
            addCriterion("hnickname =", value, "hnickname");
            return (Criteria) this;
        }

        public Criteria andHnicknameNotEqualTo(String value) {
            addCriterion("hnickname <>", value, "hnickname");
            return (Criteria) this;
        }

        public Criteria andHnicknameGreaterThan(String value) {
            addCriterion("hnickname >", value, "hnickname");
            return (Criteria) this;
        }

        public Criteria andHnicknameGreaterThanOrEqualTo(String value) {
            addCriterion("hnickname >=", value, "hnickname");
            return (Criteria) this;
        }

        public Criteria andHnicknameLessThan(String value) {
            addCriterion("hnickname <", value, "hnickname");
            return (Criteria) this;
        }

        public Criteria andHnicknameLessThanOrEqualTo(String value) {
            addCriterion("hnickname <=", value, "hnickname");
            return (Criteria) this;
        }

        public Criteria andHnicknameLike(String value) {
            addCriterion("hnickname like", value, "hnickname");
            return (Criteria) this;
        }

        public Criteria andHnicknameNotLike(String value) {
            addCriterion("hnickname not like", value, "hnickname");
            return (Criteria) this;
        }

        public Criteria andHnicknameIn(List<String> values) {
            addCriterion("hnickname in", values, "hnickname");
            return (Criteria) this;
        }

        public Criteria andHnicknameNotIn(List<String> values) {
            addCriterion("hnickname not in", values, "hnickname");
            return (Criteria) this;
        }

        public Criteria andHnicknameBetween(String value1, String value2) {
            addCriterion("hnickname between", value1, value2, "hnickname");
            return (Criteria) this;
        }

        public Criteria andHnicknameNotBetween(String value1, String value2) {
            addCriterion("hnickname not between", value1, value2, "hnickname");
            return (Criteria) this;
        }

        public Criteria andHpasswordIsNull() {
            addCriterion("hpassword is null");
            return (Criteria) this;
        }

        public Criteria andHpasswordIsNotNull() {
            addCriterion("hpassword is not null");
            return (Criteria) this;
        }

        public Criteria andHpasswordEqualTo(String value) {
            addCriterion("hpassword =", value, "hpassword");
            return (Criteria) this;
        }

        public Criteria andHpasswordNotEqualTo(String value) {
            addCriterion("hpassword <>", value, "hpassword");
            return (Criteria) this;
        }

        public Criteria andHpasswordGreaterThan(String value) {
            addCriterion("hpassword >", value, "hpassword");
            return (Criteria) this;
        }

        public Criteria andHpasswordGreaterThanOrEqualTo(String value) {
            addCriterion("hpassword >=", value, "hpassword");
            return (Criteria) this;
        }

        public Criteria andHpasswordLessThan(String value) {
            addCriterion("hpassword <", value, "hpassword");
            return (Criteria) this;
        }

        public Criteria andHpasswordLessThanOrEqualTo(String value) {
            addCriterion("hpassword <=", value, "hpassword");
            return (Criteria) this;
        }

        public Criteria andHpasswordLike(String value) {
            addCriterion("hpassword like", value, "hpassword");
            return (Criteria) this;
        }

        public Criteria andHpasswordNotLike(String value) {
            addCriterion("hpassword not like", value, "hpassword");
            return (Criteria) this;
        }

        public Criteria andHpasswordIn(List<String> values) {
            addCriterion("hpassword in", values, "hpassword");
            return (Criteria) this;
        }

        public Criteria andHpasswordNotIn(List<String> values) {
            addCriterion("hpassword not in", values, "hpassword");
            return (Criteria) this;
        }

        public Criteria andHpasswordBetween(String value1, String value2) {
            addCriterion("hpassword between", value1, value2, "hpassword");
            return (Criteria) this;
        }

        public Criteria andHpasswordNotBetween(String value1, String value2) {
            addCriterion("hpassword not between", value1, value2, "hpassword");
            return (Criteria) this;
        }

        public Criteria andHageIsNull() {
            addCriterion("hage is null");
            return (Criteria) this;
        }

        public Criteria andHageIsNotNull() {
            addCriterion("hage is not null");
            return (Criteria) this;
        }

        public Criteria andHageEqualTo(Integer value) {
            addCriterion("hage =", value, "hage");
            return (Criteria) this;
        }

        public Criteria andHageNotEqualTo(Integer value) {
            addCriterion("hage <>", value, "hage");
            return (Criteria) this;
        }

        public Criteria andHageGreaterThan(Integer value) {
            addCriterion("hage >", value, "hage");
            return (Criteria) this;
        }

        public Criteria andHageGreaterThanOrEqualTo(Integer value) {
            addCriterion("hage >=", value, "hage");
            return (Criteria) this;
        }

        public Criteria andHageLessThan(Integer value) {
            addCriterion("hage <", value, "hage");
            return (Criteria) this;
        }

        public Criteria andHageLessThanOrEqualTo(Integer value) {
            addCriterion("hage <=", value, "hage");
            return (Criteria) this;
        }

        public Criteria andHageIn(List<Integer> values) {
            addCriterion("hage in", values, "hage");
            return (Criteria) this;
        }

        public Criteria andHageNotIn(List<Integer> values) {
            addCriterion("hage not in", values, "hage");
            return (Criteria) this;
        }

        public Criteria andHageBetween(Integer value1, Integer value2) {
            addCriterion("hage between", value1, value2, "hage");
            return (Criteria) this;
        }

        public Criteria andHageNotBetween(Integer value1, Integer value2) {
            addCriterion("hage not between", value1, value2, "hage");
            return (Criteria) this;
        }

        public Criteria andHsexIsNull() {
            addCriterion("hsex is null");
            return (Criteria) this;
        }

        public Criteria andHsexIsNotNull() {
            addCriterion("hsex is not null");
            return (Criteria) this;
        }

        public Criteria andHsexEqualTo(String value) {
            addCriterion("hsex =", value, "hsex");
            return (Criteria) this;
        }

        public Criteria andHsexNotEqualTo(String value) {
            addCriterion("hsex <>", value, "hsex");
            return (Criteria) this;
        }

        public Criteria andHsexGreaterThan(String value) {
            addCriterion("hsex >", value, "hsex");
            return (Criteria) this;
        }

        public Criteria andHsexGreaterThanOrEqualTo(String value) {
            addCriterion("hsex >=", value, "hsex");
            return (Criteria) this;
        }

        public Criteria andHsexLessThan(String value) {
            addCriterion("hsex <", value, "hsex");
            return (Criteria) this;
        }

        public Criteria andHsexLessThanOrEqualTo(String value) {
            addCriterion("hsex <=", value, "hsex");
            return (Criteria) this;
        }

        public Criteria andHsexLike(String value) {
            addCriterion("hsex like", value, "hsex");
            return (Criteria) this;
        }

        public Criteria andHsexNotLike(String value) {
            addCriterion("hsex not like", value, "hsex");
            return (Criteria) this;
        }

        public Criteria andHsexIn(List<String> values) {
            addCriterion("hsex in", values, "hsex");
            return (Criteria) this;
        }

        public Criteria andHsexNotIn(List<String> values) {
            addCriterion("hsex not in", values, "hsex");
            return (Criteria) this;
        }

        public Criteria andHsexBetween(String value1, String value2) {
            addCriterion("hsex between", value1, value2, "hsex");
            return (Criteria) this;
        }

        public Criteria andHsexNotBetween(String value1, String value2) {
            addCriterion("hsex not between", value1, value2, "hsex");
            return (Criteria) this;
        }

        public Criteria andHphoneIsNull() {
            addCriterion("hphone is null");
            return (Criteria) this;
        }

        public Criteria andHphoneIsNotNull() {
            addCriterion("hphone is not null");
            return (Criteria) this;
        }

        public Criteria andHphoneEqualTo(String value) {
            addCriterion("hphone =", value, "hphone");
            return (Criteria) this;
        }

        public Criteria andHphoneNotEqualTo(String value) {
            addCriterion("hphone <>", value, "hphone");
            return (Criteria) this;
        }

        public Criteria andHphoneGreaterThan(String value) {
            addCriterion("hphone >", value, "hphone");
            return (Criteria) this;
        }

        public Criteria andHphoneGreaterThanOrEqualTo(String value) {
            addCriterion("hphone >=", value, "hphone");
            return (Criteria) this;
        }

        public Criteria andHphoneLessThan(String value) {
            addCriterion("hphone <", value, "hphone");
            return (Criteria) this;
        }

        public Criteria andHphoneLessThanOrEqualTo(String value) {
            addCriterion("hphone <=", value, "hphone");
            return (Criteria) this;
        }

        public Criteria andHphoneLike(String value) {
            addCriterion("hphone like", value, "hphone");
            return (Criteria) this;
        }

        public Criteria andHphoneNotLike(String value) {
            addCriterion("hphone not like", value, "hphone");
            return (Criteria) this;
        }

        public Criteria andHphoneIn(List<String> values) {
            addCriterion("hphone in", values, "hphone");
            return (Criteria) this;
        }

        public Criteria andHphoneNotIn(List<String> values) {
            addCriterion("hphone not in", values, "hphone");
            return (Criteria) this;
        }

        public Criteria andHphoneBetween(String value1, String value2) {
            addCriterion("hphone between", value1, value2, "hphone");
            return (Criteria) this;
        }

        public Criteria andHphoneNotBetween(String value1, String value2) {
            addCriterion("hphone not between", value1, value2, "hphone");
            return (Criteria) this;
        }

        public Criteria andEmailIsNull() {
            addCriterion("email is null");
            return (Criteria) this;
        }

        public Criteria andEmailIsNotNull() {
            addCriterion("email is not null");
            return (Criteria) this;
        }

        public Criteria andEmailEqualTo(String value) {
            addCriterion("email =", value, "email");
            return (Criteria) this;
        }

        public Criteria andEmailNotEqualTo(String value) {
            addCriterion("email <>", value, "email");
            return (Criteria) this;
        }

        public Criteria andEmailGreaterThan(String value) {
            addCriterion("email >", value, "email");
            return (Criteria) this;
        }

        public Criteria andEmailGreaterThanOrEqualTo(String value) {
            addCriterion("email >=", value, "email");
            return (Criteria) this;
        }

        public Criteria andEmailLessThan(String value) {
            addCriterion("email <", value, "email");
            return (Criteria) this;
        }

        public Criteria andEmailLessThanOrEqualTo(String value) {
            addCriterion("email <=", value, "email");
            return (Criteria) this;
        }

        public Criteria andEmailLike(String value) {
            addCriterion("email like", value, "email");
            return (Criteria) this;
        }

        public Criteria andEmailNotLike(String value) {
            addCriterion("email not like", value, "email");
            return (Criteria) this;
        }

        public Criteria andEmailIn(List<String> values) {
            addCriterion("email in", values, "email");
            return (Criteria) this;
        }

        public Criteria andEmailNotIn(List<String> values) {
            addCriterion("email not in", values, "email");
            return (Criteria) this;
        }

        public Criteria andEmailBetween(String value1, String value2) {
            addCriterion("email between", value1, value2, "email");
            return (Criteria) this;
        }

        public Criteria andEmailNotBetween(String value1, String value2) {
            addCriterion("email not between", value1, value2, "email");
            return (Criteria) this;
        }

        public Criteria andCompanyIsNull() {
            addCriterion("company is null");
            return (Criteria) this;
        }

        public Criteria andCompanyIsNotNull() {
            addCriterion("company is not null");
            return (Criteria) this;
        }

        public Criteria andCompanyEqualTo(String value) {
            addCriterion("company =", value, "company");
            return (Criteria) this;
        }

        public Criteria andCompanyNotEqualTo(String value) {
            addCriterion("company <>", value, "company");
            return (Criteria) this;
        }

        public Criteria andCompanyGreaterThan(String value) {
            addCriterion("company >", value, "company");
            return (Criteria) this;
        }

        public Criteria andCompanyGreaterThanOrEqualTo(String value) {
            addCriterion("company >=", value, "company");
            return (Criteria) this;
        }

        public Criteria andCompanyLessThan(String value) {
            addCriterion("company <", value, "company");
            return (Criteria) this;
        }

        public Criteria andCompanyLessThanOrEqualTo(String value) {
            addCriterion("company <=", value, "company");
            return (Criteria) this;
        }

        public Criteria andCompanyLike(String value) {
            addCriterion("company like", value, "company");
            return (Criteria) this;
        }

        public Criteria andCompanyNotLike(String value) {
            addCriterion("company not like", value, "company");
            return (Criteria) this;
        }

        public Criteria andCompanyIn(List<String> values) {
            addCriterion("company in", values, "company");
            return (Criteria) this;
        }

        public Criteria andCompanyNotIn(List<String> values) {
            addCriterion("company not in", values, "company");
            return (Criteria) this;
        }

        public Criteria andCompanyBetween(String value1, String value2) {
            addCriterion("company between", value1, value2, "company");
            return (Criteria) this;
        }

        public Criteria andCompanyNotBetween(String value1, String value2) {
            addCriterion("company not between", value1, value2, "company");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}